
/*
 * 服务端 net
 *
 * 过程：
 * - 创建 服务器 与 监听的端口
 * - socket.on 用于监听客户端的请求，接收到传入的 buf
 * - 读取 buf （注意：客户端写入用的 Int32，服务端读取就也要用 Int32，必须统一）
 * - 拼凑新的 buf
 * - socketwrite() 给客户端回传新的 buf 
 */
const net = require('net')

const server = net.createServer((socket) => {
    // 监听数据传入
    socket.on('data', function(buffer) { 
        const seqBuffer = buffer.slice(0, 2)
        const lessonid = buffer.readInt32BE(2)
        setTimeout(() => {
            const lessonBuf = Buffer.from(data[lessonid])
            const resBuffer = Buffer.concat([seqBuffer, lessonBuf])
            socket.write(resBuffer)
        }, 200);
    })
})

server.listen(4000)

const data = {
    136797: "01 | 课程介绍",
    136798: "02 | 内容综述",
    136799: "03 | node.js 是什么",
    136800: "04 | node.js 可以用来做什么",
    136801: "05 | 课程实战项目介绍",
    136802: "06 | 什么是技术预研",
    136803: "07 | 石头剪刀布游戏",
    136804: "08 | 模块：事件循环",
    136805: "09 | 模块：非阻塞 I/O",
    136806: "10 | 模块：npm"
}